import { createSlice } from '@reduxjs/toolkit' 

// 这里 用 createSlice 这个函数 来创建一个对象
const counterSlice = createSlice({
  // 这个name 就相当于 action 里的 type
  name:"counter",
  initialState:{
    counter:88
  },
  reducers:{
    // 这里 的 action 就是一个标准的action 
    //  action 里的 变量名统一 为 payload 
    // {payload: 5,type: "counter/addNumber"}
    addNumber(state,action){
      console.log('是否调用了state里的 addNumber 方法',action);
      state.counter = state.counter + action.payload
    },
    subNumber(state,{payload}){
      console.log('是否调用了state里的 subNumber 方法');
      state.counter = state.counter - payload
    },
  }
})

console.log("counterSlice",counterSlice);
// 后面 补充  我的理解
// createSlice 在创建的时候 会生成 一个大对象 里面有许多redux 需要的一些配置参数
// 后面 在搭建 redux 时需要哪些 配置 都可以从 counterSlice 里 导出来 
// 里面有 action reducer name 
// counterSlice 就是 redux 的工具
export const { addNumber ,subNumber} = counterSlice.actions


// 我的理解 根据上面的一些属性方法的配置和执行 最后会生成一个reducer 
// 然后在这里 返回回去 给 store 去执行reducer 来修改state
export default counterSlice.reducer

